home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u254.dms / u254.adf / M.DOC < prev    next >
Text File  |  1990-05-11  |  10KB  |  238 lines

  1.  
  2.  
  3.                  MANDELSHOW Fractal Graphics Generator V1.1
  4.                  ==========================================
  5.  
  6.  
  7.  Okay, so you've seen the Mandelbrot Set being generated before... but by a
  8. bunch of Transputers ( a dozen 20MHz T800's maybe ) in no time flat. Well
  9. here's the same equation being chewed over by a single 7.16MHz MC68000.
  10.  It only takes an hour to render a big, detailed picture - compare this to
  11. a program written in C on an IBM compatible, four hours or more with less
  12. resolution than your Amiga.
  13.  
  14.  Fractals are infinitely detailed, wierdly beautiful and addictive. I spent
  15. more time running this program than developing it !
  16.  
  17.  The program is fairly self-explanatory and I recommend that you play with it
  18. a bit before reading the rest of this documentation. Just one thing though,
  19. the START-POSITION.PIC is not absolutely necessary but does speed things up
  20. at the start. You can use any fractal image as the Start Position, the one on
  21. disk is the initial picture as generated by the default settings.
  22.  
  23.  Fractal pictures are saved off as IFF pictures, compatible with DPAINT II,
  24. DPAINT III, Pixmate and just about any other graphics utility, so you can
  25. use the pictures in any way you like - that is how I generated the main
  26. program .INFO icon image.
  27.  
  28.  
  29.                              The Menus
  30.                              =========
  31.  
  32. PROJECT
  33. =======
  34.  
  35. Redraw Picture    Draws the picture from scratch. You can break out to the
  36.                   menus by hitting the ESC key.
  37.                   The first few lines of a full size picture are drawn behind
  38.                   the title bar, don't worry ! See View Pic.
  39.  
  40. Continue Pic      Okay, you've drawn half a picture and pressed ESC. As long
  41.                   as you haven't changed anything ( except colours ) this
  42.                   command will recommence drawing. ESC aborts.
  43.  
  44. Load Position     You can load in a previously found position and continue
  45.                   exploring... Position files are very short, so you can save
  46.                   off your current location with no worries. All Load and
  47.                   Save options use the same File Selector, fairly standard.
  48.  
  49. Save Position     Type in a file name and away you go !
  50.  
  51. Load Picture      Loads in an IFF picture that was saved by MandelShow. It
  52.                   contains position data ( as in a Position file ) so that
  53.                   you can quickly carry on from where you left off. Pics
  54.                   take much more room than Position files but are the only
  55.                   way to export your work.
  56.  
  57. Save Picture      Saves a compressed IFF picture with additional position
  58.                   information ( in a FRAC chunk ) and an icon similar to
  59.                   those provided by DPaintII. The icon is designed to be
  60.                   of use to your art package. MandelShow ignores them.
  61.                   If your picture has a different centre to your current
  62.                   position then you will be warned to Redraw. Click on Okay
  63.                   to abort or Cancel to save the picture anyway, with the
  64.                   wrong position information in it.
  65.  
  66. About             The sign-on message window. Read it, click on the
  67.                   close-gadget to exit, then use the right button to
  68.                   view the menu bar.
  69.  
  70. Quit              The exit.  It double checks;- Okay to quit, Cancel to stay.
  71.  
  72.  
  73. VIEW
  74. ====
  75.  
  76. New Centre        This allows you to click on a point of interest and then
  77.                   zoom in on it. You will see that the pointer changes to a
  78.                   cross-hair cursor. If you decide not to change the centre
  79.                   point, just press ESC to abort. If you do change the centre
  80.                   then this menu item is disabled until you Redraw, because
  81.                   the picture no longer agrees with the position.
  82.  
  83. Big Picture       Sets the picture to its maximum size, the entire screen.
  84.                   This is best when you're fairly sure that the position is
  85.                   worth seeing in detail. Changing picture size temporarily
  86.                   disables New Centre until you Redraw and have a valid pic.
  87.  
  88. Small Picture     Sets the picture to its minimum size, one ninth of the
  89.                   screen. This is great for having a quick look at new
  90.                   positions, nine times faster than the Big Picture view.
  91.  
  92. Detailed Pic      This is the slow, deep setting that brings out lots of
  93.                   minor detail. You will probably want to use this mode with
  94.                   the Big Picture view only for screens to save onto disk.
  95.                   Use with Small Picture view to see extra detail.
  96.  
  97. Fast Picture      This produces a fast, approximate Mandelbrot picture that
  98.                   is great for exploring with. It works best at low levels
  99.                   of magnification.
  100.  
  101. View Picture      Select this to view a full screen in its correct palette -
  102.                   click the left button or press ESC to exit. Note that the
  103.                   palette is modified during menu operations so that the
  104.                   text is always visible.
  105.  
  106. Reset Params      Brings you back to minimum magnification, the standard
  107.                   initial values for position and the standard palette.
  108.  
  109.  
  110.  
  111. MAGNIFY
  112. =======
  113.  
  114. By 2   \
  115. By 4    >-        Zooms you in - starts redrawing immediately.
  116. By 8   /
  117.  
  118. By 1/2 \
  119. By 1/4  >-        Zooms you back out and starts redrawing immediately.
  120. By 1/8 /
  121.  
  122. Maximum           Zooms in as far as possible ... note that the FFP library
  123.                   starts to lose accuracy at the highest levels of
  124.                   magnification, so funny effects can arise - be warned !
  125.  
  126. Minimum           Zooms all the way out. Not terribly useful unless you are
  127.                   completely lost.
  128.  
  129.  
  130. COLOURS           There are six palettes to choose from, each giving a
  131. =======           different "feel" to a picture. You can change the colours
  132.                   of any IFF picture files that you save off using your
  133.                   favourite art package, but you won't be able to load them
  134.                   back in.
  135.  
  136.  
  137.                             Notes
  138.                             =====
  139.  
  140.  I use HiSoft's DEVPAC ( GenAm, MonAm ) on a 512k Belgian A1000 with either
  141. KickStart 1.2 or 1.3 in "ROM" space depending on the phases of the moon...
  142.  Actually it's based on how well my desk is organised and which one I find
  143. first in the morning. So it should be compatible with both. DON'T try to run
  144. the code on a Kick1.0 or Kick1.1 machine, NO GO. ( Who are these people
  145. anyway ? )
  146.  
  147.  I'm not Belgian by the way, this is a "Grey Import" machine. This code is
  148. completely Belgian free, no Belgian influences at all. Except that they
  149. always seem to get a few free mentions.
  150.  
  151.  The code is 100% assembly, no compilers ( yuk ) or other stuff. It's fast,
  152. mean and lean but probably has bugs. If you find any, DON'T TELL ME.
  153.  
  154.  The program looks for the initialisation picture/position under the names:-
  155.  
  156.    DF0:Start-Position.Pic
  157.  
  158.    DF0:MandelShow/Start-Position.Pic
  159.  
  160.    <current-directory>:Start-Position.Pic
  161.  
  162.    <current-directory>:MandelShow/Start-Position.Pic
  163.  
  164.  By default it's likely to be in DF0:, so should cause no problems.
  165.  
  166.  If you change the contents of this file, ie save off a different picture,
  167. then that new position will become the default starting place on the Mandel-
  168. brot picture. Very handy for deep delvers.
  169.  
  170.  The total available space for exploration is about a million screens full,
  171. which should keep you occupied for a while.
  172.  
  173.  If you want to run the generator as a background task, then set it running
  174. and click on the depth gadgetry, as normal. The program will "flash" all the
  175. screens in the system when the picture is finished, using LVO_DisplayBeep.
  176.  It is a processor intensive task, so it is best run behind something that
  177. requires a lot of system-waiting-for-input, eg a text editor.
  178.  
  179.  I use a modified version of this algorithm to calculate the colour value for
  180. each pixel :-
  181.  
  182.  for y=0 to screenheight-1
  183.   q:=y_start+y*stepsize             ;stepsize depends on magnification level
  184.  
  185.  for x=0 to screenwidth-1
  186.   counter=0
  187.   xvar:=0
  188.   yvar:=0
  189.   p:=x_start+x*stepsize             ;x_start & y_start depend on centre point
  190. loop:                               ;just a label
  191.   xtemp:=(xvar^2)-(yvar^2)+p
  192.   yvar:=2*xvar*yvar+q
  193.   xvar:=xtemp
  194.   counter:=counter+1                ;(ie counter++)
  195.   if (xvar^2)+(yvar^2) < trigger    ;exits if we're sure it's interesting
  196.   then
  197.    if counter < maximum_iterations  ;exits if it's getting boring
  198.    then
  199.     loop                            ;this is a GOTO
  200.   else
  201.   setcolour(count&15)               ;don't have to use this colouring rule
  202.   writepixel(x,y)                   ;hit the screen
  203.   next x,y
  204.   end
  205.  
  206.  
  207.  
  208.                           DISCLAIMER
  209.                           ==========
  210.  
  211.  PROGRAM DISCLAIMER: The program is provided "AS IS" without warranty of any
  212. kind, either expressed or implied, including, but not limited to, the implied
  213. warranties of merchantability and fitness for a particular purpose. The
  214. entire risk as to the results and performance of the program is assumed by
  215. the user.
  216.  
  217.  Or, in English, if Commodore-Amiga change the rules (again), or this little
  218. gem of a proglet gets stroppy with your 8-inch floppy, hard luck.
  219.  
  220.  I have tested this program as well as I am able and believe it to be stable,
  221. but somewhere, someone will crash it. C'est la vie.
  222.  
  223.  
  224.                           CONDITIONS
  225.                           ==========
  226.  
  227.  Feel free to distribute this code on a non-profit basis; the graphics that
  228. you create with it are yours to do with as you will, and none of my business.
  229.  It is important that you should spread this DOC file with the object code,
  230. but the pictures & positions are less important.
  231.  
  232.  Nic/89
  233.  
  234.  
  235.                             > Gaudete! <
  236.  
  237.  
  238.